import 'package:flutter/material.dart';

import '../net_cancel.dart';

/// 这个是一个自定义的 ， 处理 请求前、请求后，对话框的一些配置等自动处理类，只需传入
///NetCancel 即可
abstract class BaseIntercept {
  NetCancel netCancel;
//  BaseFunction baseFunction;
  bool isDefaultDealFailure = true;
  bool isShowTopReminder = true;

  void beforeRequest();

  void afterRequest();

  void requestFailure(String content) {
    //默认请求出错的处理，可以通过设置 isDefaultFailure 来控制
    if (isDefaultDealFailure) {
      if (netCancel != null && content != null && content.isNotEmpty) {
        if (isShowTopReminder) {
          netCancel.showTopReminder(content,
              bgColor: Colors.yellow, textColor: Colors.red);
        } else {
          netCancel.showToast(content);
        }
      }
    }
  }

  String getInstanceName() {
    return netCancel.getInstanceName();
  }
}
